// 网址检测服务
package xginxnet

import (
	"github.com/gin-gonic/gin"
	"gorm.io/gorm"
)

// 配置项
type Config struct {
	DBRoot           *gorm.DB         // 待检测网址记录【最重要，此连接必须要注入】
	DBCheckLog       *gorm.DB         // 网址检测记录
	DBCheckImportant *gorm.DB         // 重要检测记录【超时记录、错误记录等存储位置】
	NetGin           *gin.RouterGroup // GIN路由
	netStatus        bool             // 是否已注入路由
}

// 默认配置项
var _default Config = Config{}

// 配置项注入
func Regedit(c *Config) {
	if c == nil {
		return
	}
	if c.DBRoot != nil {
		_default.DBRoot = c.DBRoot
	}
	if c.DBCheckLog != nil {
		_default.DBCheckLog = c.DBCheckLog
	}
	if c.DBCheckImportant != nil {
		_default.DBCheckImportant = c.DBCheckImportant
	}
	if c.NetGin != nil {
		_default.NetGin = c.NetGin
	}

	// 后续处理
	if _default.DBRoot == nil || _default.NetGin == nil {
		return
	}
	if _default.DBCheckLog == nil {
		_default.DBCheckLog = _default.DBRoot
	}
	if _default.DBCheckImportant == nil {
		_default.DBCheckImportant = _default.DBRoot
	}
	routers()
}
